home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Topik / Topik - Disk 06 - Graphix (19xx)(Topik Public Domain)(PD)[WB].zip / Topik - Disk 06 - Graphix (19xx)(Topik Public Domain)(PD)[WB].adf / NGI / NGI.doc < prev    next >
Text File  |  1989-06-28  |  13KB  |  258 lines

  1. /****************************************************************/
  2. /******* NGI 1.3 DEMO *******************************************/
  3. /****************************************************************/
  4.  
  5.     An IFF, Workbench & C Utility by Kevin Bjorke
  6.     Distributed by
  7.         National Pixel Products
  8.         25724 Salceda Road
  9.         Valencia, CA 91355
  10.         CI$: 74756,464 PLink: OJS637
  11.  
  12.     This ARC File contains the DEMO version of NGI 1.2 --
  13.     some functions have been disabled. For the real thing,
  14.     plus complete source, send $25 to the above address --
  15.     we'll get it right out to you.
  16.  
  17. NGI is an Intuition-driven utility that will allow you to read, view, and
  18. reformat ILBM (DPaint, Aegis Images, DigiView, etc) pictures. Although NGI
  19. was originally intended to simply be a replacement for the "gi," "brush2c"
  20. & "brush2icon" utilities we'd been using (that didn't always work, alas),
  21. it's very useful as an IFF viewer, too -- it loads faster and is MUCH smaller
  22. than DPaint, and can show several pictures of most any reso during a single
  23. session -- so NGI is also an alternative to programs like "ShowILBM" and
  24. "DPaintX." NGI has been deliberately kept small enough so that you can just
  25. put it right on your normal DPaint disk. So even if you don't know what a BOB
  26. or ALTIMAGE is, don't write C code at all, and never need to make icons, NGI
  27. can still be a handy tool to have around your workbench.
  28.  
  29. NGI 1.3 contains quite a few improvements and new options that make it
  30. superior to the original NGI -- NGI now can write Workbench icons, can
  31. handle twin-image gadgets, and lets you decide just what kind of final output
  32. you need. Version 1.3 has been greatly accelerated over V1.2. The NGI 1.3
  33. Distribution Disk also contains some convenient C routines to help programmers
  34. make the most out of NGI with a minimum of fuss.
  35.  
  36. /****************************************************************/
  37. /******* Instructions *******************************************/
  38. /****************************************************************/
  39.  
  40. Of course the easiest way to learn how to use NGI is to fiddle with it -- but
  41. when in doubt, here's the straight scoop:
  42.  
  43. /*** The Title Page ***/
  44.  
  45. When you start up NGI (from CLI or Workbench), you'll first get the Title Page.
  46. Hit the BEGIN gadget to go to the Main Page, or hit the title to find out
  47. what you're doing.
  48.  
  49. /*** The Main Page ***/
  50.  
  51. The NGI Main Page has three string gadgets and three button gadgets, listed
  52. below. When you see the Main Page, you also have a number of menu selections
  53. available, and NGI will display information on any currently read-in brush.
  54.  
  55. BRUSH: Enter the name of the brush you want to read. NGI can actually read any
  56.     IFF file that it can cram into memory, so the "brush" may be a full-
  57.     sized picture, even in hi-res.
  58.  
  59. OUTPUT: If you use NGI to generate new C files or icons, enter the filename
  60.     here. If you're writing an icon, don't bother with the ".info"
  61.     suffix -- AmigaDOS will do it for you.
  62.  
  63. STRUCT: If you use NGI to create C code, enter the name of the Image/Gadget/
  64.     Bob/VSprite structure you want NGI to write.
  65.  
  66. IMAGES, GELS, & ICONS: Selecting one of these buttons tells NGI what kind
  67.     of file you want it to write -- selecting IMAGES tells NGI that
  68.     you want to get C Source for Intuition-Style Images (and Gadgets);
  69.     GELS says you want C Source for animation GELS; and ICONS says you
  70.     want NGI to write a workbench icon instead of C code.
  71.  
  72. THE STATUS LINE: The box just below the buttons is the status line. NGI
  73.     will narrate whatever it's doing here -- for example, NGI announces
  74.     each IFF chunk as it reads-in a brush.
  75.  
  76. EXTRA INFO: The last three lines at the bottom of the screen will only
  77.     appear if you've successfully read-in a brush-- they tell you which
  78.     brush it is, its original name, size, and depth.
  79.  
  80. /*** The Main Menus ***/
  81.  
  82. PROJECT: From the Project Menu, you can Read, Display, & Save Brushes; get
  83.     Help and other Information; and quit NGI (you can do this through the
  84.     Close-Button on the NGI window at any time, too). All of the Project
  85.     Menu selections have corresponding keyboard shortcuts.
  86.  
  87.     Read Brush: Try to read-in the brush named in BRUSH on the Main Page.
  88.     Display: Display the currently read-in brush (See "The Display Page").
  89.     Save: Save the current brush, according to the style selected by the
  90.         IMAGES, GELS, or ICONS button, and with the various attributes
  91.         set by the appropriate menu(s) (See Below).
  92.     Help!!!: Get the Help Information Page.
  93.     About: Get the About Information Page.
  94.     Quit: Bye-Bye, Vamoose, OutaHere. NGI goes away.
  95.  
  96. BRUSH: NGI can read more than one brush at the same time, providing there's
  97.     some memory around for it. You can select which brush you're working
  98.     on with this menu. If you make Gadgets or icons that use the "AltImage"
  99.     feature, the brush that's selected (checked) will be the "normal"
  100.     Image, while the non-selected brush will be the "hilight" Image.
  101.  
  102. IMAGE: The Image Menu lets you format the C Source that NGI will write for
  103.     dealing with Intuition Image and Gadget structures.
  104.  
  105.     Colors: If Colors are ON, then NGI will include in the output file
  106.         an array of UWORD that represents the original brush colors.
  107.         Use the "LoadRGB4()" function to set them up for your program.
  108.     Gadgets: If Gadgets are ON, then NGI will write a boolean (button)
  109.         Gadget that uses your Image(s).
  110.     AltImage: If AltImage is ON, then IF [1] you've read two brushes, and
  111.         have them both in memory (see the BRUSH Menu above); and
  112.         [2] they're both the same size and the same depth; then NGI
  113.         will write TWO Images into the same file -- and if Gadgets
  114.         are on, the Gadget will use the unselected brush as its
  115.         "SelectRender" -- the Image you see as the hilight when you
  116.         click on the Gadget.
  117.  
  118. GELS: The Gels Menu, like the Image Menu, lets you pick-and-choose Gel output
  119.     parameters.
  120.  
  121.     Bob Colors: If Bob Colors are ON, then NGI will include in the output
  122.         file an array of UWORD that represents the original brush
  123.         colors whenever it writes a Bob (VSprite colors are built-in,
  124.         and are a bit different anyway). Use "LoadRGB4()" to set them
  125.         up for your program.
  126.     VSprites: By default, NGI writes only Bobs. If you select Sprites, then
  127.         NGI will write Gels as VSprites IF they're 16 or less pixels
  128.         across and IF they're no more than two bitplanes deep. Otherwise
  129.         you'll just get another Bob.
  130.     Memory: The NGI 1.3 Disk contains a set of routines in "kGEL.c" that
  131.         dynamically allocate Gels (these routines are for the most part
  132.         the same as those in the popular "MyGelTools" routines, and
  133.         are both Public Domain and widely available). If you choose
  134.         Dynamic Memory, the output file will include "MakeVSprite()"
  135.         or "MakeBob()" calls. If you chose Static Memory, the structures
  136.         will be declared in-place.
  137.  
  138. ICONS: The Icon Menu has only one option, "AltImage." It works like the
  139.     "AltImage" option for Images: if selected, then when you try to write
  140.     your icon: IF [1] you've read two brushes, and have them both in memory
  141.     (see the BRUSH Menu above); and    [2] they're both the same size and the
  142.     same depth (which MUST be Depth=2 for icons); then NGI will write TWO
  143.     Images into the same icon -- it will use the unselected brush as its
  144.     "hilight" -- the Image you see when you click on the icon. If AltImage
  145.     is OFF, then the highlight method is Backfill.
  146.  
  147. /*** The Information Pages ***/
  148.  
  149. The HELP and ABOUT pages are just there to tell you stuff. Hit "OK" to return
  150. to the Main Page (or the Close button to Give Up Altogether).
  151.  
  152. /*** The Display Page ***/
  153.  
  154. When you select Show Brush (Amiga-D), NGI will try to set up a new screen and
  155. show you the current brush. Normally it will make the screen lo-res if the
  156. brush will fit -- but if you've selected ICONS as the output style (even if
  157. you have no intention of writing icons), the screen will come up with 640-pixel
  158. width, just like the workbench. If your picture is bigger than 640 across or
  159. 400 high, tough -- that's all you'll see. (But who would want to code an Image
  160. that big without compression, anyway?)
  161.  
  162. The display page has a short menu:
  163.  
  164.     WBColors: If your picture only has a couple of bit planes, you can
  165.         override the original brush colors to see what it would look
  166.         like on the workbench.
  167.     Other Brush: If you have two brushes read-in with the same size and
  168.         depth, you can toggle between them, for an AltImage preview.
  169.     End Display: Closes the Display and sends you back to the Main Page.
  170.  
  171. /****************************************************************/
  172. /******* The Future *********************************************/
  173. /****************************************************************/
  174.  
  175. Future Enhancements to NGI may or may not include:
  176.     
  177. 1. Easier file specification that using the string gadget to type something like
  178.     "pictures12:brush/wb-brushes/NewCLick.Brush" -- probably some sort of
  179.     file requester a la DPaint.
  180.  
  181. 2. More Brushes. If NGI could read more brushes (not a hard thing to do), it
  182.     could potentially create and preview multi-Bob AnimComps. Since
  183.     animation development is what NGI was built for in the first place, this
  184.     is a high priority. Everyone HATES doing repetitive stuff. At the same
  185.     time, maybe it's overkill, especially with dynamically-allocated Bobs.
  186.  
  187. 3. Mask/Stencil Planes. Since Image structures don't use Mask planes, NGI
  188.     doesn't bother with them. They can sometimes be handy for animation,
  189.     however. (Yes, we know about Masked Gadgets. But DPaint doesn't
  190.     store BRUSHES that way...)
  191.  
  192. 4. Basic? NGI could also write BASIC "objects," if we ever got requests for
  193.     that sort of thing. Probably lots of requests.
  194.  
  195. 5. Special CLI options in addition to the mouse. It might be handy to make a
  196.     BOB with a line like "NGI -b df1:brush/dude2 sys:dude2.s BowLeg2" i.e.
  197.     "NGI <option(s)> <brush> <output> <struct>" -- we like mouse-driven
  198.     code, but the simplest way is always the best -- always the tricky
  199.     part of providing programs that are flexible.
  200.  
  201. /****************************************************************/
  202. /******* Recompiling NGI ****************************************/
  203. /****************************************************************/
  204.  
  205. NGI was written in C, using the Lattice 3.10 compiler under WorkBench 1.2.
  206. Much of its size (about 36K) is actually just the various structures
  207. and ImageData blocks, with the code being pretty short -- the IFF reader
  208. is probably more than half of the code. NGI used the Lattice "-a" option,
  209. so it should run properly on heavily-expanded machines, loading all ImageData
  210. into CHIP memory. Bon appetit bitblt.
  211.  
  212. NGI's original source is included in the Source Directory of the Distribution
  213. Disk. EXECUTE the "NRestore.cmd" command file to load the various modules
  214. onto your SYS: disk, then "NGI.cmd" to execute & link. MAKE fans may want
  215. their own scripts, though "NGI.cmd" uses the -M option of lc to ensure that
  216. only revised .c modules are indeed compiled. If you want to change the look of
  217. the buttons, you'll find the original IFF brushes in the Brush directory.
  218.  
  219.                         - KAB 4 Feb 1988
  220.  
  221. /****************************************************************/
  222. /******* National Pixel Products ********************************/
  223. /****************************************************************/
  224.  
  225. About National Pixel Products:
  226.  
  227.     National Pixel Products was created by ex-employees of the late,
  228. great Digital Productions/Robert Abel & Associates/Omnibus Simulation;
  229. makers of supercomputer graphics for the entertainment industry. While the
  230. Amiga is no Cray, we all think it's the hottest box on the block, even AFTER
  231. the Mac-2. Accept no substitutes.
  232.  
  233.     Future projects include a high-quality scan-line renderer (MUCH faster
  234. than ray-tracing) and other multi-purpose graphics tools like NGI -- we are
  235. also working on the adaptation of William Gibson's cyberpunk novel NEUROMANCER
  236. as an Amiga game.
  237.  
  238. (Deluxe Paint and Deluxe Paint 2 are trademarks of Electronic Arts.
  239. Aegis and Aegis Images are trademarks of Aegis Development. DigiView
  240. is a trademark of NewTek, Inc. Amiga and Workbench are trademarks of
  241. Commodore Business Machines. Why are you reading this? Lattice is a
  242. trademark of Lattice, Inc.)
  243.  
  244. /****************************************************************/
  245. /******** NGI Updates and Source Code ***************************/
  246. /****************************************************************/
  247.  
  248. For updates, revenge, and complete source of NGI with examples of use
  249.     (and to    be on our mailing list, of course), send $25 to:
  250.  
  251. National Pixel Products
  252. 25724 Salceda Road
  253. Valencia, California 91355
  254.  
  255. /****************************************************************/
  256. /******************************************************** eof ***/
  257. /****************************************************************/
  258.